package com.qf.json;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.qf.pojo.Dept;
import com.qf.pojo.User;

import java.util.HashMap;
import java.util.Map;

/**
 * @author 千锋教育
 * @Company http://www.mobiletrain.org/
 * @Version 1.0
 */
public class TestFastJson {

    public static void main(String[] args) {
        //声明了一个 java对象
        User user = new User(1, "赵云龙", '男', "北京北科");
        Dept dept = new Dept(1, "人事部");
        user.setDept(dept);
        //java对象转换为json 字符串
        String json1 = JSON.toJSONString(user);
        System.out.println("----------------把java转换为json----------------");
        System.out.println(json1);

        System.out.println("-------把map转换为json串-----------");
        Map<String,Object> map = new HashMap<>();
        map.put("id", 1);
        map.put("username", "马鹏");
        map.put("sex", '男');
        map.put("address", "北科最后一排");
        map.put("dept", dept);

        String json = JSON.toJSONString(map);
        System.out.println(json);


//        System.out.println("----------------把json串转换为java---------------");
//        // 把json串转换为java对象
//        String json11 = "{\"address\":\"北京北科\",\"dept\":{\"id\":1,\"name\":\"人事部\"},\"id\":1,\"sex\":\"男\",\"username\":\"赵云龙\"}";
//        User user1 = JSON.parseObject(json11, User.class);
//        System.out.println(user1);
//
//        System.out.println("--------把list集合转换为 json串-------------");
//        List<String> list = new ArrayList<>();
//        list.add("a");
//        list.add("b");
//        list.add("c");
//        list.add("d");
//        String json2 = JSON.toJSONString(list);
//        System.out.println(json2);
//        System.out.println("--------把json串转换为 list集合-------------");
//        String json22 = "[\"a\",\"b\",\"c\",\"d\"]";
//        List<String> lists = JSON.parseArray(json22, String.class);
//        System.out.println(lists);
//
//
//        List<User> users = new ArrayList<>();
//        users.add(new User(1, "赵云龙", '男', "北京北科"));
//        users.add(new User(2, "孙浩", '男', "北京北科"));
//        users.add(new User(3, "王佳欣", '男', "北京北科"));
//
//
//        String json3 = JSON.toJSONString(users);
//        System.out.println(json3);
//        System.out.println("--------把json串转换为 list<User>集合-------------");
//        String json33 = "[{\"address\":\"北京北科\",\"id\":1,\"sex\":\"男\",\"username\":\"赵云龙\"},{\"address\":\"北京北科\",\"id\":2,\"sex\":\"男\",\"username\":\"孙浩\"},{\"address\":\"北京北科\",\"id\":3,\"sex\":\"男\",\"username\":\"王佳欣\"}]";
//
//        List<User> users1 = JSON.parseArray(json33, User.class);
//        System.out.println(users1); System.out.println("----------------把json串转换为java---------------");
//        // 把json串转换为java对象
//        String json11 = "{\"address\":\"北京北科\",\"dept\":{\"id\":1,\"name\":\"人事部\"},\"id\":1,\"sex\":\"男\",\"username\":\"赵云龙\"}";
//        User user1 = JSON.parseObject(json11, User.class);
//        System.out.println(user1);
//
//        System.out.println("--------把list集合转换为 json串-------------");
//        List<String> list = new ArrayList<>();
//        list.add("a");
//        list.add("b");
//        list.add("c");
//        list.add("d");
//        String json2 = JSON.toJSONString(list);
//        System.out.println(json2);
//        System.out.println("--------把json串转换为 list集合-------------");
//        String json22 = "[\"a\",\"b\",\"c\",\"d\"]";
//        List<String> lists = JSON.parseArray(json22, String.class);
//        System.out.println(lists);
//
//
//        List<User> users = new ArrayList<>();
//        users.add(new User(1, "赵云龙", '男', "北京北科"));
//        users.add(new User(2, "孙浩", '男', "北京北科"));
//        users.add(new User(3, "王佳欣", '男', "北京北科"));
//
//
//        String json3 = JSON.toJSONString(users);
//        System.out.println(json3);
//        System.out.println("--------把json串转换为 list<User>集合-------------");
//        String json33 = "[{\"address\":\"北京北科\",\"id\":1,\"sex\":\"男\",\"username\":\"赵云龙\"},{\"address\":\"北京北科\",\"id\":2,\"sex\":\"男\",\"username\":\"孙浩\"},{\"address\":\"北京北科\",\"id\":3,\"sex\":\"男\",\"username\":\"王佳欣\"}]";
//
//        List<User> users1 = JSON.parseArray(json33, User.class);
//        System.out.println(users1);


    }
}
